package controllers

type ResCode int64

const (
	CodeSuccess ResCode = 1000 + iota
	CodeInvalidParsm
	CodeUserExist
	CodeUserNotExist
	CodeInvalidPassword
	CodeServerBusy

	CodeNeedLogin
	CodeInvalidToken
)

var codeMsgMap = map[ResCode]string{
	CodeSuccess:         "success",
	CodeInvalidParsm:    "请求参数错误",
	CodeUserExist:       "用户名已经存在",
	CodeUserNotExist:    "用户名不存在",
	CodeInvalidPassword: "用户名或名错误",
	CodeServerBusy:      "服务繁忙",
	CodeNeedLogin:       "需要登录",
	CodeInvalidToken:    "无效的token",
}

// 每个 ResCode 错误码提供对应的错误消息字符串。如果某个错误码没有定义具体的错误消息，
// 则返回一个默认的错误消息（通常是一个通用的错误消息，如服务器繁忙）。
func (c ResCode) Msg() string {
	msg, ok := codeMsgMap[c]
	if !ok {
		msg = codeMsgMap[CodeServerBusy]
	}
	return msg
}
